package com.luyang.platform.contact.infrastructure.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.luyang.framework.database.entity.BaseEntity;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.time.OffsetDateTime;

/**
 * 用户基础信息表
 *
 * @author lu_yang
 */
@Getter
@Setter
@TableName("contact_user")
@EqualsAndHashCode(callSuper = false)
public class UserPO extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1003926888044848213L;

    /**
     * 姓名
     */
    private String name;

    /**
     * 英文名
     */
    private String enName;

    /**
     * 别名
     */
    private String nickname;

    /**
     * 工号
     */
    private String employeeNo;

    /**
     * 员工类型 {[formal:正式员工] [intern:实习生] [outsource:外包]}
     */
    private String employeeType;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 手机号码可见性: {[1:可见:true] [0:不可见:false]}
     */
    private Boolean mobileVisible;

    /**
     * 性别 {[secret:保密] [man:男] [woman:女]}
     */
    private String gender;

    /**
     * 直接上级ID
     */
    private String leaderUserId;

    /**
     * 国家或地区Code缩写
     */
    private String country;

    /**
     * 城市
     */
    private String city;

    /**
     * 入职时间 yyyy-MM-dd
     */
    private OffsetDateTime joinTime;

    /**
     * 用户状态 {[unactivated:未激活] [incumbency:在职] [resign:离职]}
     */
    private String status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否删除: {[1:删除:true] [0:未删除:false]}
     */
    private Boolean hasDelete;
}
